package com.gis.visualization.service;

import com.gis.visualization.entity.HistoryFigure;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gis.visualization.entity.vo.FigureQueryVo;
import com.gis.visualization.entity.vo.TimeCityVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;
import java.util.TreeMap;

/**
 * <p>
 * 历史人物表 服务类
 * </p>
 *
 * @author hqz
 * @since 2021-02-24
 */
public interface HistoryFigureService extends IService<HistoryFigure> {

    Map<String, Object> pageFigureCondition(long current, long limit, FigureQueryVo figureQueryVo);

    void deleteFigure(String figureId);

    void figureFromExcel(MultipartFile file, HistoryFigureService figureService, FigureLocationService locationService, FigureLocationDescService locationDescService, HistorySummaryService summaryService, OssService ossService);

    List<Map<String, Object>> getFuzzyNames(String n);

    Map<String, Integer> getNames();

    String getNameWordCloudImg(Map<String, Integer> list);

    List<Map<String, Object>> getAgeDistribution();

    List<TreeMap<String, Object>> getFigureCity();

    List<Map<String, Object>> getSexRatio();

    List<Map<String, Object>> getFigureTypes();

    Map<String, Object> getMinMaxYear();

    List<Map<String, Object>> getAgeDistributionByTimeCity(TimeCityVo timeCityVo);

    List<TreeMap<String, Object>> getFigureCityByTime(TimeCityVo timeCityVo);

    List<Map<String, Object>> getFigureTypesByTimeCity(TimeCityVo timeCityVo);

    Map<String, Integer> nameWordCloudByTimeCity(TimeCityVo timeCityVo);

    List<Map<String, Object>> getSexRatioByTimeCity(TimeCityVo timeCityVo);

    List<Map<String, Object>> getFigureLocAndLat();

    Map<String, Object> getFigureClassLocAndLat();
}
